package com.mcp.weather.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

/**
 * 天气预报数据模型
 */
public class ForecastWeather {
    private String type = "forecast";
    private String city;
    private String adcode;
    
    @JsonProperty("reportTime")
    private String reportTime;
    
    private List<ForecastItem> forecasts;

    public ForecastWeather() {
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getAdcode() {
        return adcode;
    }

    public void setAdcode(String adcode) {
        this.adcode = adcode;
    }

    public String getReportTime() {
        return reportTime;
    }

    public void setReportTime(String reportTime) {
        this.reportTime = reportTime;
    }

    public List<ForecastItem> getForecasts() {
        return forecasts;
    }

    public void setForecasts(List<ForecastItem> forecasts) {
        this.forecasts = forecasts;
    }

    /**
     * 单日预报项
     */
    public static class ForecastItem {
        private String date;
        private Integer week;
        private DayNightInfo day;
        private DayNightInfo night;

        public ForecastItem() {
        }

        public String getDate() {
            return date;
        }

        public void setDate(String date) {
            this.date = date;
        }

        public Integer getWeek() {
            return week;
        }

        public void setWeek(Integer week) {
            this.week = week;
        }

        public DayNightInfo getDay() {
            return day;
        }

        public void setDay(DayNightInfo day) {
            this.day = day;
        }

        public DayNightInfo getNight() {
            return night;
        }

        public void setNight(DayNightInfo night) {
            this.night = night;
        }
    }

    /**
     * 白天/夜间天气信息
     */
    public static class DayNightInfo {
        private String weather;
        private Integer temp;
        
        @JsonProperty("windDirection")
        private String windDirection;
        
        @JsonProperty("windPower")
        private String windPower;

        public DayNightInfo() {
        }

        public String getWeather() {
            return weather;
        }

        public void setWeather(String weather) {
            this.weather = weather;
        }

        public Integer getTemp() {
            return temp;
        }

        public void setTemp(Integer temp) {
            this.temp = temp;
        }

        public String getWindDirection() {
            return windDirection;
        }

        public void setWindDirection(String windDirection) {
            this.windDirection = windDirection;
        }

        public String getWindPower() {
            return windPower;
        }

        public void setWindPower(String windPower) {
            this.windPower = windPower;
        }
    }
}

